1. Field of the Invention
The present invention relates to a programmable LSI and a semiconductor device including the programmable LSI. Note that a semiconductor device in this specification indicates any device that can operate by utilizing semiconductor characteristics. For example, electro-optical devices, semiconductor circuits, and electronic devices are all included in the category of the semiconductor device.
2. Description of the Related Art
Programmable LSIs, which are reconfigurable, have advantages such as reduction in development period and flexibility in changing design specification, as compared to a conventional application specific integrated circuit (ASIC) and gate array, and have been widely used in semiconductor devices.
Specifically, a programmable LSI has a memory (configuration memory) that holds data (configuration data) for setting a circuit configuration. The circuit configuration is determined on the basis of the data held in the memory. Thus, the circuit can be reconfigured by rewrite of configuration data held in the configuration memory. Methods for reconfiguring a circuit are broadly classified into two types.
The first method is a static reconfiguration method in which a circuit is reconfigured while the operation of a programmable LSI stops. For example, a circuit can be reconfigured by rewrite of data in a configuration memory with configuration data input from the outside while the operation of the programmable LSI stops.
In static reconfiguration, the operation of the programmable LSI delays inevitably. Note that when data in a configuration memory is rewritten with configuration data input from the outside, it is difficult to continue the operation of the programmable LSI. This is due to design difficulty in sufficiently widening the width of a bus through which data is supplied to the programmable LSI from the outside (difficulty in sufficiently shortening a time necessary for rewriting data in the configuration memory).
The second method is a dynamic reconfiguration method in which a circuit is reconfigured while a programmable LSI continues operating (i.e., when a period during which the operation of the programmable LSI stops is extremely short). For example, a programmable LSI disclosed in Patent Document 1 achieves dynamic reconfiguration by including a dynamic random access memory (DRAM) other than a configuration memory. Specifically, a circuit is reconfigured in such a manner that data held in the configuration memory is replaced with one of plural pieces of configuration data that have been stored in the DRAM in advance (i.e., a circuit is reconfigured by rewrite of configuration data).
In the programmable LSI disclosed in Patent Document 1, operation delay can be suppressed. However, power consumption of the programmable LSI is inevitably increased because plural pieces of configuration data need to be stored in the DRAM in advance and because refresh operations are required at regular intervals in order to hold the configuration data. In addition, static reconfiguration has to be performed when configuration data other than the configuration data stored in the DRAM is necessary. If all pieces of configuration data that may be necessary are stored in a DRAM with the capacity of the DRAM being increased, there occur problems of further increase in power consumption and increase in circuit area.